package com.zenithmind.document.pojo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 文档操作日志VO
 * 
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@Schema(description = "文档操作日志VO")
public class DocumentOperationLogVO {

    /**
     * 日志ID
     */
    @Schema(description = "日志ID")
    private String id;

    /**
     * 文档ID
     */
    @Schema(description = "文档ID")
    private String documentId;

    /**
     * 操作类型
     */
    @Schema(description = "操作类型")
    private String operationType;

    /**
     * 操作类型名称
     */
    @Schema(description = "操作类型名称")
    private String operationTypeName;

    /**
     * 操作描述
     */
    @Schema(description = "操作描述")
    private String description;

    /**
     * 操作者ID
     */
    @Schema(description = "操作者ID")
    private String operatorId;

    /**
     * 操作者名称
     */
    @Schema(description = "操作者名称")
    private String operatorName;

    /**
     * 操作前数据
     */
    @Schema(description = "操作前数据")
    private String beforeData;

    /**
     * 操作后数据
     */
    @Schema(description = "操作后数据")
    private String afterData;

    /**
     * IP地址
     */
    @Schema(description = "IP地址")
    private String ipAddress;

    /**
     * 用户代理
     */
    @Schema(description = "用户代理")
    private String userAgent;

    /**
     * 操作结果
     */
    @Schema(description = "操作结果")
    private String result;

    /**
     * 操作时间
     */
    @Schema(description = "操作时间")
    private LocalDateTime operationTime;
}
